import { defineStore } from 'pinia'
import { getStore, setStore } from '@/util/localTool'
export type datatype = { 
    [key: string]: any
}

export const userStore = defineStore('user', {
    state: () => (
        {
            //clearToken: false, // 初始化的时候清空token
            deviceId: getStore("deviceId"),
            tenantId: getStore('tenantId'),
            tokenCode: '',
            userInfo: getStore('userInfo'),
            user: getStore('user'),
            token: getStore('token'),
            refreshToken: getStore('refreshToken'),
            mpOpenId: getStore('mpOpenId'),
            xcxOpenId: getStore('xcxOpenId'),
            xcxAppId: getStore('xcxAppId'),
            wxUser: getStore('wxUser'),
        
            enum: getStore('enum'),
            sysAppId: getStore('sysAppId'),
            sysApp: getStore('sysApp')
        }as datatype
    ),
    actions: {
        setData(key: string, value: any):void {
            this[key] = value
            setStore(key, value)
        },
        clearToken(){
            this.token = null
            setStore('token', null)
        }
    }
}
)
